Apparatus and method for communication using near golay sequence

ABSTRACT

A communication system and method using a Golay sequence, are provided. In the communication method, 2 nd  order Reed-Muller coding is performed on data to generate a codeword, and exponential modulation is performed on the codeword to generate a near Golay complementary sequence. Factors for generating the codeword are permutations of a 1 st  order Reed-Muller generator, and cosets and offsets of a 2 nd  order Reed-Muller code calculated based on the permutations of the 1 st  order Reed-Muller generator, etc.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application is a continuation of International Application PCT/KR2008/005438, filed on Sep. 12, 2008, which claims the benefit of Korean Patent Application No. 10-2007-0093862, filed Sep. 14, 2007, in the Korean Intellectual Property Office, the entire disclosures of which are both incorporated herein by reference for all purposes.

BACKGROUND

1. Field

The following description is related to a communication apparatus using Golay sequences and a data transmission/reception method thereof.

2. Description of Related Art

In an Orthogonal Frequency Division Multiplexing (OFDM) communication system, because a data stream is truncated to a plurality of sub data streams and the sub data streams are transmitted in parallel through sub-carriers, frequency selective fading and narrow-band interference can be alleviated. Thus, a large amount of data may be transmitted through sub-carriers.

Because an OFDM communication system has excellent performance in multipath and mobile communication environments, it has been used in wireless local area networks (WLANs), in wireless communication systems for digital broadcasts, and the like.

However, the OFDM communication system has several disadvantages. For example, a peak to average power ratio (PAPR) or peak-to-mean envelope power ratio (PMEPR) may be relatively high due to successive combinations of sub channels. The PAPR corresponds to a ratio of peak to average power ratio of multicarriers, and signals having a high PAPR deteriorate the power efficiency of an amplifier and hinder the orthogonality of data modulated by the sub carriers, resulting in reduced transmission efficiency.

Representative methods for reducing the PAPR include a method for clipping a part of a signal where the peak power appears through a filter, a method of multiplying codewords by weights for lowering the peak value for each region, and the like.

However, in the example of the clipping method, because some parts of signals are truncated, the signals may be distorted or out-of-band frequency characteristics may deteriorate. Also, in the example of the method of multiplying the codewords by the weights, because the weights have to be calculated for each region, additional pre-processing is needed and also there is inefficiency of having to transmit the calculated weights to a receiver.

Furthermore, because codewords are random, the above-described methods have a disadvantage in that PAPR reduction is not sufficient although the generation possibility of data distortion is reduced statistically.

SUMMARY

Other features and aspects may be apparent from the following description, the drawings, and the claims.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a diagram illustrating an example of a communication system.

FIG. 2 is a diagram illustrating an example of a transmitter.

FIG. 3 is a diagram illustrating an example of a receiver.

FIG. 4 is a flowchart illustrating an example of a data transmission/reception method.

FIG. 5 is a diagram illustrating an example of a process for generating a generator, cosets, and offsets.

FIG. 6 is a diagram illustrating an example process of coding data.

FIG. 7 is a diagram illustrating an example of the communication system illustrated in FIG. 1 incorporating a Quadrature Phase Shift Keying (QPSK) scheme.

FIG. 8 is a diagram illustrating an example of the communication system illustrated in FIG. 1 incorporating a Quadrature amplitude modulation (QAM) scheme.

FIG. 9 is a diagram illustrating an example of the constellation of 64-QAM sequences.

Throughout the drawings and the description, unless otherwise described, the same drawing reference numerals should be understood to refer to the same elements, features, and structures. The relative size and depiction of these elements may be exaggerated for clarity, illustration, and convenience.

DESCRIPTION

The following description is provided to assist the reader in gaining a comprehensive is understanding of the methods, apparatuses, and/or systems described herein. Accordingly, various changes, modifications, and equivalents of the methods, apparatuses, and/or systems described herein may be suggested to those of ordinary skill in the art. Also, descriptions of well-known functions and constructions may be omitted for increased clarity and conciseness.

FIG. 1 illustrates an example of a communication system.

Referring to the example shown in FIG. 1, the communication system 100 includes a transmitter 101 and a receiver 102. The transmitter 101 may be included in a terminal, a base station, and the like. Also, the receiver 102 may be included in a terminal, a base station, and the like.

The transmitter 101 modulates data and transmits the modulated data to the receiver 102, and the receiver 102 demodulates the modulated data and restores the original data. A communication method used by the transmitter 101 and receiver 102 may be, for example, an M-level quadrature amplitude modulation (M-QAM) method, where ‘M’ is a value defined as 2^(2n), and where ‘n’ is a whole number.

The transmitter 101 may generate signals in the form of Golay sequences. Such Golay sequences may be generated by performing 2^(nd) order Reed-Muller coding on data to generate codewords and performing exponential modulation on the codewords.

The receiver 102 receives signals in the form of Golay sequences, extracts codewords from the Golay sequences, and restores data from the codewords.

FIG. 2 illustrates an example of a transmitter.

Referring to the example shown in FIG. 2, the transmitter 101 includes a transducer 201, an analog-digital converter 202, an encoder 203, a modulator 204, and a transmitting unit 205.

Data from the transducer 201 is converted into a digital signal via the analog-digital converter 202. The data converted into the digital signal is coded by the encoder 203. That is, the encoder 203 generates codewords corresponding to the data. The codewords are input to is the modulator 204, and the modulator 204 modulates the codewords and generates a modulation signal. The modulation signal is transmitted to the receiver 102 (see FIG. 1) by the transmitting unit 205.

Referring to FIG. 2, the encoder 203 may generate the codewords by performing 2^(nd) order Reed-Muller coding on the data. Also, cosets and offsets of the 2^(nd) order Reed-Muller coding may be calculated based on permutations of the 1^(st) order Reed-Muller generator. The encoder 203 may generate the codewords using a 1^(st) order Reed-Muller generator, and may generate the codeword using cosets and offsets of 2^(nd) order Reed-Muller codes that are calculated based on permutations of the 1^(st) order Reed-Muller generator.

Also, the offsets of the 2^(nd) order Reed-Muller codes calculated based on the permutations of the 1^(st) order Reed-Muller generator may be linear or non-linear offsets.

The linear offsets may be generated by linearly combining permutations of the generator vectors of specific 1^(st) order Reed-Muller codes and specific linear combination of the permutations. That is, the linear offsets may be generated by linearly combining the permutations for the 1^(st) order Reed-Muller generator. Also, the linear offsets may be a monoid.

By generating the codewords using the linear offsets, grouping the codewords to several symbol groups according to a predetermined modulation method, and performing exponential modulation on the symbol groups, each symbol group will consist of a series of symbols having a constant length that becomes a near Golay sequence, and the PAPR of transmission signals may be reduced.

Nonlinear offsets may be generated by nonlinearly combining the permutations of the 1^(st) order Reed-Muller generator. For example, the nonlinear offsets may be generated by linearly combining specific 1^(st) order Reed-Muller generator vectors, linearly combining different 1^(st) order Reed-Muller code generator vectors, and multiplying or adding the linear combinations of the 1^(st) order Reed-Muller generator vectors.

By generating codewords using nonlinear offsets and performing exponential modulation on the codewords to thus generate Golay sequences, a large number of Golay sequences may be generated and the code rate may be increased.

From a mathematical point of view, this process combines generator vectors for generating codewords so that there are QAM sequences having aperiodic autocorrelation functions with opposite polarities. For example, if aperiodic autocorrelation functions obtained after exponential modulation are +3, −2, +7, the inverse polarities of the aperiodic autocorrelation functions will be −3, +2, −7. That is, various generators may be generated using linear transform through permutations and linear combinations described above, linear transform (for example, x−>ax+b) on permutations of the 1^(st) order Reed-Muller generator, the product of linear transforms on permutations of different generator vectors, and/or nonlinear transform through permutations of specific 1^(st) order Reed-Muller codes and linear combinations of the permutations.

The modulator 204 generates a near Golay complementary sequence whose exponents are the codewords generated by the encoder 203. When there are QAM sequences having the same length and whose aperiodic autocorrelation functions have opposite polarities, the QAM sequences correspond to Golay sequences. Near Golay complementary sequences correspond to two sequences whose polarities are nearly inverse.

The Golay sequences generated in this manner may be used to reduce the PAPR in a QAM communication method, or used as signature sequences in CDMA.

Also, Golay sequences may be used in a transmission/reception technology between a terminal and base station based on the pico/femto cell scenario which corresponds to next generation communication technology.

The operation of the encoder 203 and modulator 204 are described below using the following example equations.

In this example, a process of generating a 64-QAM Golay sequence is described below.

The encoder 203 may generate codewords A(x), a(x), and α(x) for received data, as shown in Equation (1).

A(x)=2Σ_(k=1) ^(m−1) x _(π(k)) x _(π(k+1))+Σ_(k=1) ^(m) c _(k) x _(k) +c

a(x)=A(x)+(s ⁽¹⁾(x))

α(x)=A(x)+(s ⁽²⁾(x))  (1)

Referring to Equation (1), C, C_(k) represents the information data, x represents a 1^(st) order Reed-Muller generator, π represents permutation, and m may be set to a proper value which determines the length of a codeword (for example, the length of a codeword=2^(m)).

Also, an offset s(x) may be one of the following values and may be a monoid for addition. Examples of offset groups are shown in Equation (2) as follows:

$\begin{matrix} {{{{Case}\mspace{14mu} I\text{:}}{{\left( {{s^{(1)}\left( \underset{\_}{x} \right)},{s^{(2)}\left( \underset{\_}{x} \right)}} \right) = \left( {{d_{0} + {d_{1}x_{\pi {(1)}}}},{d_{0}^{\prime} + {d_{1}^{\prime}x_{\pi {(1)}}}}} \right)};}{{Case}\mspace{14mu} {II}\text{:}}{{\left( {{s^{(1)}\left( \underset{\_}{x} \right)},{s^{(2)}\left( \underset{\_}{x} \right)}} \right) = \left( {{d_{0} + {d_{1}x_{\pi {(m)}}}},{d_{0}^{\prime} + {d_{1}^{\prime}x_{\pi {(m)}}}}} \right)};}{{Case}\mspace{14mu} {III}\text{:}}{\left( {{s^{(1)}\left( \underset{\_}{x} \right)},{s^{(2)}\left( \underset{\_}{x} \right)}} \right) = \begin{pmatrix} {{d_{0} + {d_{1}x_{\pi {(w)}}} + {d_{2}x_{\pi {({w + 1})}}}},{\leqq \,}} \\ {d_{0}^{\prime} + {d_{1}^{\prime}x_{\pi {(w)}}} + {d_{2}^{\prime}x_{\pi {({w + 1})}}}} \end{pmatrix}}{with}{{{2d_{0}} + d_{1} + d_{2}} = 0},{{{2d_{0}^{\prime}} + d_{1}^{\prime} + d_{2}^{\prime}} = 0},{{{2 \leqq w \leqq {m - 1}};};{and}}}{{Case}\mspace{14mu} V\text{:}}{{\left( {{s^{(1)}\left( \underset{\_}{x} \right)},{s^{(2)}\left( \underset{\_}{x} \right)}} \right) = \left( {{d_{0} + {d_{1}x_{\pi {({m - 1})}}} + {d_{2}x_{\pi {(m)}}}},{{\, d_{0}^{\prime}} + {d_{1}^{\prime}x_{\pi {(m)}}}}} \right)},{with}}{{{{2d_{0}} + d_{1} + d_{2}} = 0},{{{2d_{0}^{\prime}} + d_{1}^{\prime}} = 0.}}} & (2) \end{matrix}$

The modulator 204 performs exponential modulation on the codewords A(x), a(x), and α(x), generated from Equation (1), and generates a sequence C_(i) as shown in Equation (3).

$\begin{matrix} {{C_{i} = {\gamma \left\lbrack {{r_{1}\xi^{A_{i}}} + {r_{2}\xi^{a_{i}}} + {r_{3}\xi^{\alpha_{i}}}} \right\rbrack}}{where}{r_{1} = \frac{4}{\sqrt{21}}},{r_{2} = \frac{2}{\sqrt{21}}},{r_{3} = \frac{1}{\sqrt{21}}},{\xi = ^{j\; {\pi/2}}},{\gamma = ^{j\; {\pi/4}}}} & (3) \end{matrix}$

FIG. 9 illustrates an example of the constellation of 64-QAM sequences generated in the above-described manner, wherein coefficients constructing each 64-QAM sequence are positioned symmetrically so that they may be used as a 64-QAM signal in an Orthogonal Frequency Division Multiplexing (OFDM) communication system.

The above-described embodiment corresponds to the case of generating 64-QAM Golay sequences, but generating M-QAM (M>64) Golay sequences is also possible (for example, M=2^(2n)).

In this example, the encoder 203 generates three or more codewords. If codewords are assumed to be y⁽¹⁾(x) through y^((n))(x), they may be represented as shown in Equation (4).

$\begin{matrix} {{{y^{(1)}\left( \underset{\_}{x} \right)} = {{2{\sum\limits_{k = 1}^{m - 1}\; {x_{\pi {(k)}}x_{\pi {({k + 1})}}}}} + {\sum\limits_{k = 1}^{m}\; {c_{k}x_{k}}} + c}}{{y^{(2)}\left( \underset{\_}{x} \right)} = {{y^{(1)}\left( \underset{\_}{x} \right)} + \left( {s^{(1)}\left( \underset{\_}{x} \right)} \right)}}{{y^{(3)}\left( \underset{\_}{x} \right)} = {{y^{(1)}\left( \underset{\_}{x} \right)} + \left( {s^{(2)}\left( \underset{\_}{x} \right)} \right)}}\ldots {{y^{(n)}\left( \underset{\_}{x} \right)} = {{y^{(1)}\left( \underset{\_}{x} \right)} + \left( {s^{({n - 1})}\left( \underset{\_}{x} \right)} \right)}}} & (4) \end{matrix}$

In the example where a M-QAM (M>64) Golay sequence is generated, offsets S⁽¹⁾(x), s⁽²⁾(x), . . . , S^((n−1))(x) used for generating codewords may be generated by selecting a part of the offsets represented by Equation (4) and combining the selected offsets. For example, in Equation (4), y⁽⁴⁾(x) is a sum of the first codeword y⁽¹⁾(x) and s⁽³⁾(x). For example, if offset group Case I is selected from among the offset groups of Case I through Case V shown in is Equation (2), s⁽³⁾(x) may be one of d₀+d₁x_(π(1)) and d′₀+d′₁x_(π(1)).

Also, if n codewords are generated as described above, the modulator 204 may generate a Golay sequence according to the following Equation (5).

$\begin{matrix} {{C_{i} = {\gamma \begin{bmatrix} {{{r_{1}}^{(2^{2n})}\xi^{y_{i}^{(1)}}} + {r_{2}^{(2^{2n})}\xi^{y_{i}^{(2)}}} +} \\ {{r_{3}^{(2^{2n})}\xi^{y_{i}^{(3)}}} + \ldots + {r_{n}^{(2^{2n})}\xi^{y_{i}^{(n)}}}} \end{bmatrix}}}{where}{{\xi = ^{j\; {\pi/2}}},{\gamma = ^{{j\pi}/4}},{r_{i} = \frac{(2)^{i - 1}}{\sqrt{\sum\limits_{i = 0}^{n = 1}\; 2^{2\; i}}}}}} & (5) \end{matrix}$

The method described above with reference to Equations (1) through (5) corresponds to the example of generating a Golay sequence using linear offsets, but generating Golay sequences using nonlinear offsets is also possible.

For example, when a 16-QAM near Golay sequence is generated using nonlinear offsets, the encoder 203 may generate codewords A(x) and α(x) as shown in Equation (6).

$\begin{matrix} {\mspace{79mu} {{{A\left( \underset{\_}{x} \right)} = {{2{\sum\limits_{l = 0}^{m - 2}\; {x_{\pi {(l)}}x_{\pi {({l + 1})}}}}} + {\sum\limits_{l = 0}^{m - 1}{c_{l}x_{\pi {(l)}}}} + c}},{{\alpha \left( \underset{\_}{x} \right)} = {{A\left( \underset{\_}{x} \right)} + {{a\left( {x_{\pi {(0)}},x_{\pi {(1)}}} \right)}\left( {1 - x_{\pi {(k)}}} \right)} + {{b\left( {x_{\pi {(0)}},x_{\pi {(1)}}} \right)}x_{\pi {(k)}}} - {2{\sum\limits_{l = 0}^{k - 1}{x_{\pi {(l)}}x_{\pi {({l + 1})}}}}} + 1}}}} & (6) \end{matrix}$

In the codeword α(x) of Equation (6), the remaining terms, except for the term A(x), correspond to offsets. In this example, the offsets are made by nonlinear combinations of the permutations of the 1^(st) order Reed-Muller generator.

For example, the nonlinear offsets used in Equation (6) may be expressed as shown in Equation (7).

a(x _(π(0)) ,x _(π(1)))=1x _(π(0)) x _(π(1))

b(x _(π(0)) ,x _(π(1)))=2x _(π(0)) x _(π(1))+2x _(π(0))+2x _(π(1))  (7)

Also, the modulator 204 may generate the following Golay sequence as shown in is Equation (8), by performing exponential modulation on the codewords A(x) and α(x) represented by Equation (6).

$\begin{matrix} {{{C_{i} = {\gamma \left( {{r_{1}\xi^{A_{i}}} + {r_{2}\xi^{\alpha_{i}}}} \right)}},{where}}{r_{1},{r_{2}\mspace{14mu} {are}\mspace{14mu} {elements}\mspace{14mu} {of}\mspace{14mu} {the}\mspace{14mu} {set}\mspace{14mu} R},{\gamma = ^{\frac{j\pi}{4}}},{\xi = ^{\frac{j\pi}{2}}}}} & (8) \end{matrix}$

As seen in Equation (8), by performing 2^(nd) order Reed-Muller coding on information data to generate codewords, and performing exponential modulation on the codewords to generate a Golay sequence optimized for a predetermined modulation method, the peak power of signals may be reduced and errors appearing as noise in communication channels may be corrected based on the use of error correction codes. In addition, due to the use of nonlinear offsets, a code rate may also be improved.

FIG. 3 illustrates an example of a receiver.

Referring to FIG. 3, the receiver 102 includes a tuner 301, a digital-analog converter 302, a demodulator 303, and a decoder 304.

For example, a signal transmitted from the transmitter 101 (see FIG. 2) is received by the tuner 301 and then passes through the digital-analog converter 302, thereby restoring a Golay sequence which has been generated by the transmitter 101. The Golay sequence was created by performing exponential modulation on codewords, and the codewords may be extracted from the Golay sequence by the demodulator 303. The extracted codewords are input to the decoder 304, and the decoder 304 restores original data from the codewords.

In FIG. 3, the demodulator 303 and decoder 304 respectively correspond to the modulator 204 and encoder 203 illustrated in FIG. 2. For example, the demodulator 303 and decoder 304 can perform the reverse processes of coding and modulating described above with reference to FIG. 2.

For example, the decoder 304 may restore data using a parity matrix of 2^(nd) order Reed-Muller codes or using iterative detection. Also, the demodulator 303 may perform exponential demodulation which is the reverse process of the exponential modulation described above, thereby extracting codewords from the Golay sequence.

FIG. 4 illustrates an example of a data transmission/reception method.

Referring to FIG. 4, in 101, 2^(nd) order Reed-Muller coding is performed on data, to generate codewords. For example, the codewords may be generated using a 1^(st) order Reed-Muller generator, and cosets and offsets of 2^(nd) order Reed-Muller codes calculated based on permutations of the 1^(st) order Reed-Muller generator. Also, the offsets may be linear offsets which are generated by linearly combining permutations of the 1^(st) order Reed-Muller generator, or nonlinear offsets which are generated by nonlinearly combining permutations of the 1^(st) order Reed-Muller generator. Examples of the 2^(nd) order Reed-Muller coding have been described above with reference to Equations (1), (2), (4), and (6). Also, the offsets may be represented, for example, as shown in Equations (2) and (7).

In 102, by performing exponential modulation on the codewords, a Golay sequence is generated. The Golay sequence may be a near Golay complementary sequence, and details for is the exponential modulations may be expressed by the above Equations (3) and (5).

In 103, the Golay sequence is transmitted based on the M-QAM method. 101, 102, and 103 may be performed by a transmitter, for example, the transmitter 101 illustrated in FIG. 2.

In 104, the Golay sequence transmitted based on the M-QAM method is received by a receiver, for example, the receiver 102 illustrated in FIG. 3.

In 105, codewords are extracted from the Golay sequence. For example, by performing exponential demodulation that is the reverse process of operation 102, codewords may be extracted from the Golay sequence.

Finally, in 106, data is restored from the extracted codewords. For example, the data may be restored using a parity matrix of the 2^(nd) order Reed-Muller codes or using iterative detection.

104, 105 and 106 may be performed by a receiver, for example, receiver 102 illustrated in FIG. 3.

FIG. 5 illustrates an example of a process for generating a 1^(st) order Reed-Muller generator and cosets and offsets of 2^(nd) order Reed-Muller codes, which may be used to generate codewords.

Referring to FIG. 5, the 1^(st) order Reed-Muller generator 501, and the cosets 502 and offsets 503 of the 2^(nd) order Reed-Muller codes, are used as encoding factors to encode data. Also, the cosets 502 and offsets 503 are obtained using specific permutation 504 of the 1^(st) order Reed-Muller generator 501.

The process illustrated in FIG. 5 may be performed by an encoder, for example, the encoder 203 in FIG. 2 which is a pre-processor.

FIG. 6 illustrates an example process of coding data. FIG. 6 illustrates an example of coding using a lookup table.

In FIG. 6, Source means data. Also, reference numbers 601 and 602 respectively represent cosets and offsets generated in the previous process (see FIG. 5). For example, if data is U₁U₂ . . . U_(m)U_(m+1) . . . U_(n), data U₁ . . . U_(m) may be taken from the data U₁U₂ . . . U_(m)U_(m+1) . . . U_(n) and mapped to a sum of the to of the corresponding 2^(nd) order Reed-Muller coset and offset s(x).

In FIG. 6, k corresponds to the number of the cosets 601 and offsets 602. Also, m is the integer part of a value obtained by taking the log of the value k.

FIG. 7 illustrates an example of the communication system illustrated in FIG. 1 incorporating a Quadrature Phase Shift Keying (QPSK) communication scheme, and FIG. 8 illustrates an example of the communication system illustrated in FIG. 1 incorporating a Quadrature amplitude modulation (QAM) communication scheme.

Referring to FIGS. 7 and 8, codewords are created using the cosets and offsets of the 2^(nd) order Reed-Muller codes generated from the predetermined combinations of the 1^(st) order Reed-Muller generators, and a near Golay sequence is generated by performing exponential modulation on the codewords. Other details for this process have been described above with reference to the related equations, thus, a description thereof is omitted.

Therefore, the methods described herein may be applied to technologies to achieve PAPR reduction, error collection, and a high transmission rate, in a multicarrier communications environment.

The communication system and method described herein may achieve peak to average power ratio (PAPR) reduction, error correction, and a high transmission rate, in a multicarrier communications environment.

A communication apparatus, such as a transmitter, may include an encoder for performing 2^(nd) order Reed-Muller coding on data and generating a codeword. The transmitter is may also include a modulator for performing exponential modulation on the codeword, thus generating a near Golay complementary sequence.

A communication apparatus, such as a receiver, may use a near Golay sequence, including a demodulator for receiving a signal modulated in a form of a Golay sequence and performing exponential demodulation on the received signal, thus extracting a codeword from the Golay sequence. The receiver may also include a decoder restoring original information data from the codeword.

According to the above-described examples, because signals modulated in the form of near Golay complementary sequences are used in a communication system, a peak to average power ratio (PAPR) of signals can be reduced. Also, because 2^(nd) order Reed-Muller coding is used in modulating signals, error correction is possible. Also, various offsets may be used in generating codewords, and a code rate may be increased in a high-level modulation communications environment.

The methods described above may be recorded, stored, or fixed in one or more computer-readable storage media that includes program instructions to be implemented by a computer to cause a processor to execute or perform the program instructions. The media may also include, alone or in combination with the program instructions, data files, data structures, and the like. Examples of computer-readable storage media include magnetic media, such as hard disks, floppy disks, and magnetic tape; optical media such as CD ROM disks and DVDs; magneto-optical media, such as optical disks; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory, and the like. Examples of program instructions include machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter. The described hardware devices may be configured to act as one or more software modules in order to perform the operations and is methods described above, or vice versa. In addition, a computer-readable storage medium may be distributed among computer systems connected through a network and computer-readable codes or program instructions may be stored and executed in a decentralized manner.

As a non-exhaustive illustration only, the terminal device described herein may refer to mobile devices such as a cellular phone, a personal digital assistant (PDA), a digital camera, a portable game console, and an MP3 player, a portable/personal multimedia player (PMP), a handheld e-book, a portable lab-top personal computer (PC), a global positioning system (GPS) navigation, and devices such as a desktop PC, a high definition television (HDTV), an optical disc player, a setup box, and the like capable of wireless communication or network communication consistent with that disclosed herein.

A computing system or a computer may include a microprocessor that is electrically connected with a bus, a user interface, and a memory controller. It may further include a flash memory device. The flash memory device may store N-bit data via the memory controller. The N-bit data is processed or will be processed by the microprocessor and N may be 1 or an integer greater than 1. Where the computing system or computer is a mobile apparatus, a battery may be additionally provided to supply operation voltage of the computing system or computer.

It will be apparent to those of ordinary skill in the art that the computing system or computer may further include an application chipset, a camera image processor (CIS), a mobile Dynamic Random Access Memory (DRAM), and the like. The memory controller and the flash memory device may constitute a solid state drive/disk (SSD) that uses a non-volatile memory to store data.

A number of examples have been described above. Nevertheless, it should be understood that various modifications may be made. For example, suitable results may be is achieved if the described techniques are performed in a different order and/or if components in a described system, architecture, device, or circuit are combined in a different manner and/or replaced or supplemented by other components or their equivalents. Accordingly, other implementations are within the scope of the following claims. 

1. A communication apparatus comprising: an encoder for performing 2^(nd) order Reed-Muller coding on data and generating a codeword; and a modulator for performing exponential modulation on the codeword to generate a near Golay complementary sequence.
 2. The communication apparatus of claim 1, wherein the encoder generates the codeword using a 1^(st) order Reed-Muller generator, and the encoder generates a coset and an offset of a 2^(nd) order Reed-Muller code calculated based on permutations of the 1^(st) order Reed-Muller generator.
 3. The communication apparatus of claim 2, wherein the offset is a linear offset generated by linearly combining the permutations of the 1^(st) order Reed-Muller generator.
 4. The communication apparatus of claim 3, wherein the offset is a monoid for addition.
 5. The communication apparatus of claim 2, wherein the offset is a nonlinear offset generated by nonlinearly combining the permutations of the 1^(st) order Reed-Muller generator.
 6. The communication apparatus of claim 1, wherein the near Golay complementary sequence is used as an M-level quadrature amplitude modulation (M-QAM) signal.
 7. A communication apparatus using a near Golay sequence, the apparatus comprising: a demodulator for receiving a signal modulated in a form of a Golay sequence, for performing exponential demodulation on the received signal, and for extracting a codeword from the demodulate signal; and a decoder for restoring original data from the extracted codeword.
 8. The communication apparatus of claim 7, wherein the signal modulated in the form of the Golay sequence is a near Golay complementary sequence generated by performing 2^(nd) order Reed-Muller coding on the data using a 1^(st) order Reed-Muller generator and a coset and an offset of a 2^(nd) order Reed-Muller code calculated based on permutations of the 1^(st) order Reed-Muller generator, and by performing exponential modulation on the data subjected to the 2^(nd) order Reed-Muller coding.
 9. The communication apparatus of claim 7, wherein the decoder decodes the data using a parity matrix of the 2^(nd) order Reed-Muller code.
 10. The communication apparatus of claim 7, wherein the decoder decodes the data using iterative detection.
 11. A data transmission method comprising: generating a codeword by performing 2^(nd) order Reed-Muller coding on data; and generating a near Golay complementary sequence by performing exponential modulation on the codeword.
 12. The data transmission method of claim 11, wherein the codeword is generated using a 1^(st) order Reed-Muller generator and a coset and an offset of a 2^(nd) order Reed-Muller code calculated based on permutations of the 1^(st) order Reed-Muller generator.
 13. The data transmission method of claim 12, wherein the offset is generated by linearly combining the permutations of the 1^(st) order Reed-Muller generator.
 14. The data transmission method of claim 13, wherein the offset is a monoid for addition.
 15. The data transmission method of claim 12, wherein the offset is a nonlinear offset generated by nonlinearly combining the permutations of the 1^(st) order Reed-Muller generator.
 16. The data transmission method of claim 11, further comprising transmitting the near Golay complementary sequence according to an M-level quadrature amplitude modulation (M-QAM) method.
 17. A data receiving method comprising: receiving a signal modulated in a form of a Golay sequence; performing exponential demodulation on the received signal; extracting a codeword from the received signal; and restoring data from the codeword.
 18. The data receiving method of claim 17, wherein the signal modulated in the form of the Golay sequence is a near Golay complementary sequence generated by performing 2^(nd) order Reed-Muller coding on the data using a 1^(st) order Reed-Muller generator and a coset and an offset of a 2^(nd) order Reed-Muller code calculated based on permutations of the 1^(st) order Reed-Muller generator, and by performing exponential modulation on the data subjected to the 2^(nd) order Reed-Muller coding.
 19. The data receiving method of claim 17, wherein the restoring of the data comprises decoding the data using a parity matrix of the 2^(nd) order Reed-Muller code.
 20. The data receiving method of claim 17, wherein the restoring of the data comprises decoding the data using iterative detection. 